/*
 * 项目名称:    wms-server-jeecg
 * 创建人员:    hansen
 * 创建时间:    2023-08-10
 */
package org.jeecg.modules.business.repertory.entity.vo.param;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 即时库存查询参数
 *
 * @author hansen
 * @version 1.0.0
 * @date 2023-08-10 15:15:52
 */
@Data
public class RepertoryParamVO {
    /**
     * 物料编码
     */
    private String materialCode;
    /**
     * 物料名称
     */
    private String materialName;
    /**
     * 批次号
     */
    private String batchCode;
    /**
     * 牌号
     */
    private String shopSign;
    /**
     * 外观
     */
    private String appearanceGrade;
    /**
     * 片厚
     */
    private BigDecimal[] thickness;
    /**
     * 片宽
     */
    private BigDecimal[] width;
    /**
     * 外径
     */
    private BigDecimal[] outsideDiameter;
    /**
     * 铁损
     */
    private BigDecimal[] ironLoss;
    /**
     * 库存数量
     */
    private BigDecimal[] stockQuantity;
    /**
     * 仓库id
     */
    private List<String> warehouseId;
    /**
     * 库区id
     */
    private List<String> areaId;
    /**
     * 物料分类id
     */
    private List<String> materialType;
    /**
     * 母卷批次号
     */
    @ApiModelProperty(value = "母卷批次号")
    private String motherBatchCode;
    /**
     * 投入/原始批次号
     */
    @ApiModelProperty(value = "投入/原始批次号")
    private String inputBatchCode;
    /**
     * 柱形
     */
    @ApiModelProperty(value = "柱形")
    private String pillar;
    /**
     * 产品型号
     */
    @ApiModelProperty(value = "产品型号")
    private String productModel;
    /**
     * 产品类别
     */
    @ApiModelProperty(value = "产品类别")
    private String productType;
    /**
     * 销售订单号
     */
    @ApiModelProperty(value = "销售订单号")
    private String saleOrderCode;
    /**
     * 生产工单号
     */
    @ApiModelProperty(value = "生产工单号")
    private String productCode;
    /**
     * 计划生产工单号
     */
    @ApiModelProperty(value = "计划生产工单号")
    private String planProductOrderNumber;
    /**
     * 入库时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "入库时间")
    private Date[] warehouseDate;
    /**
     * 库龄
     */
    @ApiModelProperty("库龄")
    private BigDecimal stockAge;
    /**
     * 库存状态 正常: normal, 冻结: freeze
     */
    @ApiModelProperty(value = "库存状态")
    @Dict(dicCode = "repertory_status")
    private String status;
    /**
     * 组织
     */
    @ApiModelProperty(value = "组织")
    private String stockOrg;
    /**
     * 货主类型
     */
    @ApiModelProperty(value = "货主类型")
    @Dict(dicCode = "wms_owner_of_cargo")
    private String ownerType;
    /**
     * 货主编码
     */
    @ApiModelProperty(value = "货主编码")
    private String ownerCode;
    /**
     * 货主名称
     */
    @ApiModelProperty(value = "货主名称")
    private String ownerName;
    /**
     * 仓库id
     */
    @ApiModelProperty(value = "仓库id")
    private String wmsBasicWarehouseId;
    /**
     * 库区id
     */
    @ApiModelProperty(value = "库区id")
    private String wmsBasicWarehouseAreaId;
    /**
     * 库位id
     */
    @ApiModelProperty(value = "库位id")
    private String wmsBasicWarehouseAreaLocationId;

    /**
     * 用户权限仓库id
     */
    @ApiModelProperty(value = "用户权限仓库id")
    private List<String> userWarehouseIds;
}
